package com.adk.backend.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * 成本管理Mapper
 */
@Mapper
public interface CostMapper {
    
    /**
     * 查询Cou成本列表（空运成本）
     */
    List<Map<String, Object>> selectCouCostList(@Param("params") Map<String, Object> params);
    
    /**
     * 查询Cargo成本列表（空运货物成本）
     */
    List<Map<String, Object>> selectCargoCostList(@Param("params") Map<String, Object> params);
    
    /**
     * 查询海运成本列表
     */
    List<Map<String, Object>> selectSeaCostList(@Param("params") Map<String, Object> params);
    
    /**
     * 获取财务对账月份列表
     */
    List<Map<String, Object>> selectFinanceCheckMonthList();
    
    /**
     * 根据ID查询财务对账明细
     */
    Map<String, Object> selectFinanceCheckDetailsById(@Param("blId") Long blId);
    
    /**
     * 计算合计金额
     */
    Map<String, Object> calculateTotalAmount(@Param("blIds") List<Long> blIds);
    
    /**
     * 更新提单的财务对账月份
     */
    int updateBlFinanceCheck(@Param("blId") Long blId, @Param("monthId") Long monthId);
    
    /**
     * 查询提单的财务对账月份
     */
    Map<String, Object> selectBlFinanceCheck(@Param("blId") Long blId);
    
    /**
     * 更新财务对账汇总
     */
    int updateFinanceCheckTotal(@Param("monthId") Long monthId);
    
    /**
     * 查询财务对账汇总数据
     */
    Map<String, Object> selectFinanceCheckSummary(@Param("monthId") Long monthId);
    
    /**
     * 查询QGH信息
     */
    Map<String, Object> selectQghInfo(@Param("qghId") Long qghId);
    
    /**
     * 查询QGH列表
     */
    List<Map<String, Object>> selectQghList();
    
    /**
     * 查询派送费用相关的订单箱数信息
     */
    List<Map<String, Object>> selectPsFeeOrderList(@Param("blNo") String blNo);
}

